package cn.fl.custpay.transform;


import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.custpay.dto.CmmIntelOrderDTO;
import cn.fl.custpay.vo.CmmIntelOrderVO;

import java.util.ArrayList;
import java.util.List;

/**
   * TODO 智能收款订单记录表 转换器
   * TODO VO是客户端传递数据到服务端进行转换的数据
   * TODO VO转换数据变成DTO传递到服务端
   * TODO VO不能在服务端出现
   * @package: cn.fl.custpay.custpay.dto
   * @className: BaseCmmIntelOrderVOTransform
   * @author: shijibin@lionbridgecapital.cn
   * @createDate: 2019/3/19 13:38
   * @version: V1.0.0
   * @copyright: (c) 2019
   * @updateRemark: [序号][YYYY-MM-DD] [更改人姓名][变更描述]
   */
public class CmmIntelOrderVOTransform {


	/**
	 * TODO DTO 转  VO
	 * @methodName toVO
	 * @author: shijibin@lionbridgecapital.cn
	 * @createDate: 2019/3/19 13:57
	 * @version: 1.0.0
	 * @param dto CmmIntelOrderDTO
	 * @return CmmIntelOrderVO
	 * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public static CmmIntelOrderVO toVO(CmmIntelOrderDTO dto) {
		CmmIntelOrderVO  vo = null;
		if (dto != null) { 
			vo = new CmmIntelOrderVO();
			vo.setId(dto.getId());
			//还款客户
			vo.setClientName(dto.getClientName());
			//还款手机
			vo.setClientPhone(dto.getClientPhone());
			//支付类型(1：快捷支付，2：代扣支付,3：智能收款)
			vo.setOrderType(dto.getOrderType());
			//订单状态（SYS0058）
			vo.setOrderStsCd(dto.getOrderStsCd());
			//订单金额
			vo.setOrderAmt(dto.getOrderAmt());
			//业务类型
			vo.setBusTypeCd(dto.getBusTypeCd());
			//支付表ID
			vo.setPayTabId(dto.getPayTabId());
			//支付表号
			vo.setPayTabNo(dto.getPayTabNo());
			//收款账户
			vo.setPayAccount(dto.getPayAccount());
			//支付次数
			vo.setPayNum(dto.getPayNum());
			//客户ID
			vo.setCstId(dto.getCstId());
			//用户ID
			vo.setUsrId(dto.getUsrId());
			//是否删除（1：是，0：否）
			vo.setIsDel(dto.getIsDel());

			//创建时间
			vo.setCrtTm(dto.getCrtTm());
			//创建人
			vo.setCrtUsrId(dto.getCrtUsrId());
			//修改时间
			vo.setMdfTm(dto.getMdfTm());
			//修改人
			vo.setMdfUsrId(dto.getMdfUsrId());
			//实际到账金额
			vo.setSumMoney(dto.getSumMoney());
		}
		return vo;
	}

	/**
	 * TODO VO 转 DTO
	 * @methodName toDTO
	 * @author: shijibin@lionbridgecapital.cn
	 * @createDate: 2019/3/19 13:59
	 * @version: 1.0.0
	 * @param vo CmmIntelOrderVO
	 * @return CmmIntelOrderDTO
	 * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public static CmmIntelOrderDTO toDTO(CmmIntelOrderVO vo) {
		CmmIntelOrderDTO dto = null;
		if (vo != null) {
			dto = new CmmIntelOrderDTO();
			dto.setId(vo.getId());
			//还款客户
			dto.setClientName(vo.getClientName());
			//还款手机
			dto.setClientPhone(vo.getClientPhone());
			//支付类型(1：快捷支付，2：代扣支付,3：智能收款)
			dto.setOrderType(vo.getOrderType());
			//订单状态（SYS0058）
			dto.setOrderStsCd(vo.getOrderStsCd());
			//订单金额
			dto.setOrderAmt(vo.getOrderAmt());
			//业务类型
			dto.setBusTypeCd(vo.getBusTypeCd());
			//支付表ID
			dto.setPayTabId(vo.getPayTabId());
			//支付表号
			dto.setPayTabNo(vo.getPayTabNo());
			//收款账户
			dto.setPayAccount(vo.getPayAccount());
			//支付次数
			dto.setPayNum(vo.getPayNum());
			//客户ID
			dto.setCstId(vo.getCstId());
			//用户ID
			dto.setUsrId(vo.getUsrId());
			//是否删除（1：是，0：否）
			dto.setIsDel(vo.getIsDel());

			//创建时间
			dto.setCrtTm(vo.getCrtTm());
			//创建人
			dto.setCrtUsrId(vo.getCrtUsrId());
			//修改时间
			dto.setMdfTm(vo.getMdfTm());
			//修改人
			dto.setMdfUsrId(vo.getMdfUsrId());
			//实际到账金额
			dto.setSumMoney(vo.getSumMoney());
		}
		return dto;
	}

    /**
     * TODO DTO集合 转 VO集合
     * @methodName toVOList
     * @author: shijibin@lionbridgecapital.cn
     * @createDate: 2019/3/19 14:03
     * @version: 1.0.0
     * @param list  List<CmmIntelOrderDTO>
     * @return List<CmmIntelOrderVO>
     * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public static List<CmmIntelOrderVO> toVOList(List<CmmIntelOrderDTO> list) {
        List<CmmIntelOrderVO>  voList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CmmIntelOrderDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * TODO VO集合 转 DTO集合
     * @methodName toDTOList
     * @author: shijibin@lionbridgecapital.cn
     * @createDate: 2019/3/19 14:04
     * @version: 1.0.0
     * @param list List<CmmIntelOrderVO>
     * @return List<CmmIntelOrderDTO>
     * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public static List<CmmIntelOrderDTO> toDTOList(List<CmmIntelOrderVO> list) {
        List<CmmIntelOrderDTO>  dtoList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CmmIntelOrderVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }


}
